Traditional spell correction systems require user input of an entire word or string before attempting to determine if the inputted word or string is spelled correctly. This determination requires considering that each word entered by a user is potentially misspelled.
Traditional spell correction systems may also use misspelling edit probabilities to determine if a word is misspelled. For example, determining that an ‘e’ and an ‘r’ are more likely to be substitutes for each other than an ‘h’ and an ‘a’ due to the relative proximity of ‘e’ and ‘r’ on most keyboards.
However, the aforementioned systems require time consuming and resource intensive processing, as well as possibly requiring input of an entire word before spell correction takes place. This requires that a user type in an entire word and then wait for a selection of possible corrections.